{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "5a3ddf03",
   "metadata": {},
   "source": [
    "## summary"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "79c0f942",
   "metadata": {},
   "source": [
    "- **BertLayer, ffn (mlp => gelu => mlp)**\n",
    "- RELU vs. LeakyRELU vs. GELU \n",
    "    - RELU: $x\\mathbf{1}_{x>0}$ (Rectified Linear Unit,)\n",
    "    - LeakyRelu (Leaky Rectified Linear Unit,) \n",
    "        - $ x, \\quad x>=0$\n",
    "        - $ax, \\quad x<0(a> 0)$\n",
    "        - 分段线性\n",
    "    - GELU: $x\\Phi\\left(x\\right)$ (Gaussian Error Linear Unit)\n",
    "        - https://paperswithcode.com/method/gelu\n",
    "    $$\n",
    "    \\Phi(x) = \\frac{1 + \\text{Erf}(x/\\sqrt{2})}{2}.\n",
    "    $$\n",
    "- 在激活函数领域（非线性），大家公认的鄙视链应该是：Elus > Relu > Sigmoid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "35d6c36e",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2023-04-25T13:57:36.499393Z",
     "start_time": "2023-04-25T13:57:34.716457Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Some weights of the model checkpoint at bert-base-uncased were not used when initializing BertModel: ['cls.predictions.transform.dense.bias', 'cls.predictions.transform.LayerNorm.bias', 'cls.predictions.bias', 'cls.seq_relationship.bias', 'cls.predictions.decoder.weight', 'cls.seq_relationship.weight', 'cls.predictions.transform.LayerNorm.weight', 'cls.predictions.transform.dense.weight']\n",
      "- This IS expected if you are initializing BertModel from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).\n",
      "- This IS NOT expected if you are initializing BertModel from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "BertLayer(\n",
       "  (attention): BertAttention(\n",
       "    (self): BertSelfAttention(\n",
       "      (query): Linear(in_features=768, out_features=768, bias=True)\n",
       "      (key): Linear(in_features=768, out_features=768, bias=True)\n",
       "      (value): Linear(in_features=768, out_features=768, bias=True)\n",
       "      (dropout): Dropout(p=0.1, inplace=False)\n",
       "    )\n",
       "    (output): BertSelfOutput(\n",
       "      (dense): Linear(in_features=768, out_features=768, bias=True)\n",
       "      (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
       "      (dropout): Dropout(p=0.1, inplace=False)\n",
       "    )\n",
       "  )\n",
       "  (intermediate): BertIntermediate(\n",
       "    (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
       "    (intermediate_act_fn): GELUActivation()\n",
       "  )\n",
       "  (output): BertOutput(\n",
       "    (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
       "    (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
       "    (dropout): Dropout(p=0.1, inplace=False)\n",
       "  )\n",
       ")"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from transformers import AutoModel\n",
    "model_ckpt = 'bert-base-uncased'\n",
    "model = AutoModel.from_pretrained(model_ckpt)\n",
    "model.encoder.layer[0]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2e915b1e",
   "metadata": {},
   "source": [
    "## 可视化对比分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "e2a601f7",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2023-04-25T14:01:30.382661Z",
     "start_time": "2023-04-25T14:01:30.377912Z"
    }
   },
   "outputs": [],
   "source": [
    "import torch\n",
    "from torch import nn\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib as mpl\n",
    "# default: 100\n",
    "mpl.rcParams['figure.dpi'] = 200"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "df21534f",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2023-04-25T14:01:32.141371Z",
     "start_time": "2023-04-25T14:01:31.853161Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7f6f7367a920>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1280x960 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.arange(-5, 5, 0.01)\n",
    "plt.plot(x, nn.ReLU()(torch.from_numpy(x)))\n",
    "plt.plot(x, nn.LeakyReLU(negative_slope=0.1)(torch.from_numpy(x)))\n",
    "plt.plot(x, nn.GELU()(torch.from_numpy(x)))\n",
    "plt.legend(['RELU', 'LRELU', 'GELU'])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bfb4174a",
   "metadata": {},
   "source": [
    "## gradient"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ed08670f",
   "metadata": {},
   "source": [
    "- $x\\Phi(x)$\n",
    "    - grad: $\\Phi(x)+x\\phi(x)$ （$\\Phi(x)$: cdf, $\\phi(x)$: pdf）\n",
    "        - $\\Phi(x) = \\frac{1 + \\text{Erf}(x/\\sqrt{2})}{2}$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "7349a93e",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2023-04-25T14:03:38.005119Z",
     "start_time": "2023-04-25T14:03:38.001806Z"
    }
   },
   "outputs": [],
   "source": [
    "from scipy.special import erf\n",
    "from scipy.stats import norm\n",
    "import math\n",
    "def gelu_grad(x):\n",
    "    return (1 + erf(x/math.sqrt(2)))/2 + x*norm.pdf(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "2bff110f",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2023-04-25T14:04:24.653227Z",
     "start_time": "2023-04-25T14:04:24.643440Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "tensor([1.0833, 1.0852, 1.0119])"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = torch.tensor([1., 2., 3.], requires_grad=True)\n",
    "z = nn.GELU()(x).sum()\n",
    "z.backward()\n",
    "x.grad"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "3c2bd180",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2023-04-25T13:41:47.624186Z",
     "start_time": "2023-04-25T13:41:47.614353Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1.08331544, 1.08523179, 1.01194562])"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "gelu_grad(x.detach().numpy())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "132b1a73",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2023-04-25T13:43:25.193449Z",
     "start_time": "2023-04-25T13:43:24.998602Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f6f736778e0>]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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SW3cuFHTp0/XgQMHtGzZMmVlZemZZ55RaWmpFi5c2KXnRERE6OGHH1ZBQYG2bt2qt956S59++ql2796t1NRUbdiwQb/+9a97o2QAQB86UFKjqobW3nWzqXU5ZwAA+orJ4XA43HmA1WpVQkKCKisrtX37dk2aNKnD9YyMDO3atUtbt27V5MmTe/x9/v73v+uOO+7QsGHDdOTIEXdKliSNHz9ekpSTk+P2swAAHf3fl/l69L3W368XJkXp/ftmGVwRAMDTufP53O2emg0bNqiyslJpaWlnBBpJmj9/viRp5cqVbn2fjIwMSdLx48fdeg4AoO9lddifJs7ASgAA/sDtUJOdnS1JyszM7PR62/m2+3rq8OHDkqTExES3ngMA6FsOh+MriwQw9AwA0LcC3H1AQUGBJCk5ObnT623n2+7rqeeee06SdOONN3brdW3dWF+Vl5entLQ0t2oCAJzpcFmdSmqanO2pw1gkAADQt9zuqamtrZUkhYWFdXo9PDy8w3098dJLL2n16tWKiYnRf/3Xf/X4OQCAvvdlXvv+NGMTIxUXEWxgNQAAf+B2T03bOgMmk+mc13tq7dq1uv/++2UymfTKK69oyJAh3Xr92SYana0HBwDgni8Pt4eai0cwnwYA0PfcDjWRkZGSpLq6uk6vt+0rExER0e1n79q1SzfddJOam5v1hz/8QTfffHPPCwUA9DmHw6EsQg0AoJ+5PfwsNTVVklRUVNTp9bbzbfd1VV5enq666ipVVlbqscce03333edeoQCAPnewpFZltc2SJJNJungE82kAAH3P7VDTttTy9u3bO73edj49Pb3Lzzx+/LiuuOIKFRcX6/7779fixYvdLRMA0A9c59NckBilmLAgA6sBAPgLt0PNjBkzFB0drby8PO3YseOM6++8844k6brrruvS806dOqWrrrpKR44c0V133aXf//737pYIAOgnrqFmehpDzwAA/cPtUBMUFKRFixZJkhYtWtRhbs2SJUu0a9cuzZw5U1OnTnWef+GFFzR27Fg99NBDHZ5VX1+va6+9Vnv27NE3vvEN/eUvfznrAgQAAM9itzu06YhLqGE+DQCgn7i9UIAkPfLII1q9erU2btyoUaNGadasWTp69KiysrIUFxenpUuXdri/rKxMubm5OnHiRIfzv/zlL7Vp0yZZLBYFBAToe9/7Xqff79VXX+2N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\n",
      "text/plain": [
       "<Figure size 960x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.arange(-5, 5, .01)\n",
    "plt.plot(x, gelu_grad(x))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.9"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "336px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
